<?php

//载入自定义配置文件
include 'custom.php';

$configMain = array(

	/**
	 * 应用程序系统参数配置数组
	 */
	'system' => array(

		/**
		 * 应用程序的系统设置
		 * 设置页面输出编码
		 * 设置时区
		 * 是否开启session
		 */
		'charset'          => 'UTF-8',
		'timezone'	       => 'Asia/Shanghai',
		'session_start'    => true,
		'gzip'			   => true,

		/**
		 * 异常错误控制
		 * debug_model 如果为true则为开发模式，否则为生产模式
		 * 开发模式，错误或者异常信息，直接在浏览器中显示出来，并提示错误行数，错误代码等等详细信息
		 * 生产模式，会把错误或者异常信息写入日志，只写入出错信息，浏览器会提示友好信息。
		 */
		'debug_model'       => true,
		'trace_level'       => E_ALL,
	),

	/**
	 * 设置访问应用程序默认的控制器跟动作
	 */
	'access' => array(

		/**
         * url模式 compatible|path
         * 模式compatible为传统方式
         * 模式path为url_rewrite，为path模式
         */
		'url_mode'			=> 'path',

		/**
		 * 是否开启路由功能
		 */
		'url_route'         => false,

		/**
		 * 开启路由后的伪静态
		 */
		'url_suffix'        => '.html',

		/**
		 * 路由规则
		 */
		'url_rule'          => array(),

		/**
		 * 模式是否开启
		 */
		'module'			=> true,

		/**
		 * 设置默认访问的控制器
		 * 设置默认访问的动作
		 */
		'default_control'   => 'index',
		'default_action'    => 'index',

		/**
		 * 传统模式的情况下，获取存放路由的变量名称，默认r
		 */
		'route_name'		=> 'r',

		/**
		 * 自定义404文件
		 */
		'file404'		    => '',

	),

	/**
	 * 模板相关设置
	 * 默认主题
	 * 视图后缀
	 * 控制器视图模板路径
	 */
	'views' => array(
		'default_theme'     => 'default',
		'view_suffix'       => '.php',
		'view_ctrl_path'    => '/app/view/',
	),

	/**
	 * 设置要自动加载的类库
	 * 目录分割符为半角句号
	 * 别名分隔符为半角冒号
	 * 文件名不需要带扩展名：.php
	 * 载入某个文件格式：别名:目录.目录.文件名
	 * 载入某个目录的所有文件格式：别名:目录.*
	 * 程序中动态加载的话，建议使用D::import()方法，格式跟配置文件一样
	 */
    'import' => array(
    	'admin:component.Html'
    ),

    /**
     * 应用程序功能组件
     */
    'component' => array(
		'db'    => array(
			'class'  => 'dpDbCommand',
			/**
			 * 数据表架构缓存时间
			 * 0 永久缓存 -1 缓存 单位：秒
			 */
			'schema_caching' => 0,
			'master' => array(),
		),
		
		'cache' => array(
			/**
			 * 指定缓存类文件，不需要改动
			 */
			'class'        => 'dpCache',
			/**
			 * 使用的缓存系统，自带的缓存系统如下：
			 * fileCache | apcCache | memCache | XCache 
			 * 默认缓存系统：fileCache
			 */
			'cache_type'   => 'fileCache',
			/**
			 * 缓存有效期，默认600秒
			 * 0  为永久缓存
			 * -1 为不缓存
			 */
			'cache_expire' => 600,
		),
    ),
);

//配置文件合并
$configMain['component']['db']['master'] = $custom['master'];
$configMain['modules']					 = $custom['modules'];
$configMain['access']['url_mode']	     = $custom['access']['url_mode'];
$configMain['access']['url_route']	     = $custom['access']['url_route'];
$configMain['access']['url_suffix']	     = $custom['access']['url_suffix'];
$configMain['access']['file404']	     = $custom['access']['file404'];
$configMain['access']['url_rule']	     = $custom['access']['url_rule'];

//自定义令牌密匙
$configMain['encrypt']				     = $custom['encrypt'];

//COOKIE前缀
$configMain['cookie']				     = $custom['cookie'];

//设置模块URL模式
if (isset($_GET[$configMain['access']['get_module']]) && 
	in_array($_GET[$configMain['access']['get_module']], $custom['modules']))
{
	$configMain['access']['url_mode'] = 'compatible';
}

//return 配置信息
unset($custom);
return $configMain;
?>